﻿using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace RndMaterialDisposalService.Models
{
    [Table("SmallBatchTrialBusinessData")]
    public class SmallBatchTrialBusinessDataModel
    {
        /// <summary>
        /// 主键
        /// </summary>
        [Key]
        public Guid? SysId { get; set; }
        /// <summary>
        /// 流程编号
        /// </summary>
        public string? ProcessFolio { get; set; }
        /// <summary>
        /// 流程实例号
        /// </summary>
        public string? ProcInstId { get; set; }
        /// <summary>
        /// 试用来源
        /// </summary>
        public string? TrialSource { get; set; }
        /// <summary>
        /// 物料替代电子流链接
        /// </summary>
        public string? ElectronicFlowLink { get; set; }
        /// <summary>
        /// 原物料编码
        /// </summary>
        public string? RawMaterialCode { get; set; }
        /// <summary>
        /// 原产品型号
        /// </summary>
        public string? RawProductType { get; set; }
        /// <summary>
        /// 原生产厂家
        /// </summary>
        public string? RawManufacturer { get; set; }
        /// <summary>
        /// 新物料编码
        /// </summary>
        public string? NewMaterialCode { get; set; }
        /// <summary>
        /// 新产品型号
        /// </summary>
        public string? NewProductType { get; set; }
        /// <summary>
        /// 新生产厂家
        /// </summary>
        public string? NewManufacturer { get; set; }
        /// <summary>
        /// OEM
        /// </summary>
        public bool? Oem { get; set; }
        /// <summary>
        /// 试制物料备料方
        /// </summary>
        public string? MaterialPreparationParty { get; set; }
        /// <summary>
        /// 试用背景
        /// </summary>
        public string? TrialBackground { get; set; }
        /// <summary>
        /// 试用目的
        /// </summary>
        public string? TrialObjective { get; set; }
        /// <summary>
        /// 试用加工过程重点关注事项
        /// </summary>
        public string? KeyConcerns { get; set; }
        /// <summary>
        /// 跟踪工程师
        /// </summary>
        public string? TrackingEngineer { get; set; }
        /// <summary>
        /// 器件工程师
        /// </summary>
        public string? ComponentEngineer { get; set; }
        /// <summary>
        /// 外协SQE
        /// </summary>
        public string? OutsourcingSQE { get; set; }
        /// <summary>
        /// 外协工艺工程师
        /// </summary>
        public string? OutsourcingEngineer { get; set; }
        /// <summary>
        /// 抄送人员
        /// </summary>
        public string? CCPersonnel { get; set; }
        /// <summary>
        /// SQE工程师
        /// </summary>
        public string? SQEEngineer { get; set; }
        /// <summary>
        /// 本次试制加工数量
        /// </summary>
        public string? Task1ThisProcessingCount { get; set; }
        /// <summary>
        /// 是否需要相关工程师审批
        /// </summary>
        public bool? Task1IsEngineerApproval { get; set; }
        /// <summary>
        /// 异常分析电子流
        /// </summary>
        public string? Task1AnomalyAnalysisProcess { get; set; }
        /// <summary>
        /// 异常是否与试制物料有关
        /// </summary>
        public bool? Task1IsAbnormalMaterialRelated { get; set; }
        /// <summary>
        /// 是否转产试制
        /// </summary>
        public bool? Task1IsTransitionToTrialProduction { get; set; }
        /// <summary>
        /// 审批人
        /// </summary>
        public string? Task1ApproveName { get; set; }
        /// <summary>
        /// 试制结论-Task3
        /// </summary>
        public bool? Task3TrialProductionConclusion { get; set; }
        /// <summary>
        /// 成品处理方式-Task3
        /// </summary>
        public bool? Task3FinishProductHandlingMethod { get; set; }
        /// <summary>
        /// 原材料/半成品处理方式-Task3
        /// </summary>
        public string? Task3RawMaterialHandlingMethod { get; set; }
        /// <summary>
        /// 后续操作-Task3
        /// </summary>
        public string? Task3SubsequentOperations { get; set; }
        /// <summary>
        /// 试制结论-Task4
        /// </summary>
        public bool? Task4TrialProductionConclusion { get; set; }
        /// <summary>
        /// 成品处理方式-Task4
        /// </summary>
        public bool? Task4FinishProductHandlingMethod { get; set; }
        /// <summary>
        /// 原材料处理方式-Task4
        /// </summary>
        public string? Task4RawMaterialHandlingMethod { get; set; }
        /// <summary>
        /// 半成品处理方式-Task4
        /// </summary>
        public string? Task4SemimanufacturesHandlingMethod { get; set; }
        /// <summary>
        /// 限制范围/其他方式-Task4
        /// </summary>
        public string? Task4RestrictedScopeOtherMethods { get; set; }
        /// <summary>
        /// 后续操作-Task4
        /// </summary>
        public string? Task4SubsequentOperations { get; set; }
        /// <summary>
        /// 是否需要总监审批-Task4
        /// </summary>
        public bool? Task4IsDirectorApproval { get; set; }
        /// <summary>
        /// 审批人-Task4
        /// </summary>
        public string? Task4ApproveName { get; set; }
        /// <summary>
        /// 试制结论-Task5
        /// </summary>
        public bool? Task5TrialProductionConclusion { get; set; }
        /// <summary>
        /// 成品处理方式-Task5
        /// </summary>
        public bool? Task5FinishProductHandlingMethod { get; set; }
        /// <summary>
        /// 原材料处理方式-Task5
        /// </summary>
        public string? Task5RawMaterialHandlingMethod { get; set; }
        /// <summary>
        /// 半成品处理方式-Task5
        /// </summary>
        public string? Task5SemimanufacturesHandlingMethod { get; set; }
        /// <summary>
        /// 限制范围/其他方式-Task5
        /// </summary>
        public string? Task5RestrictedScopeOtherMethods { get; set; }
        /// <summary>
        /// 后续操作-Task5
        /// </summary>
        public string? Task5SubsequentOperations { get; set; }
        //创建人
        public string? CreatedBy { get; set; }
        //创建日期
        public DateTime? CreateDate { get; set; }
        //修改人
        public string? LastUpdatedBy { get; set; }
        //修改日期
        public DateTime? LastUpdateDate { get; set; }
    }
}
